/*
 * Copyright (c) 2010-2011 Josef Hardi <josef.hardi@gmail.com>
 * Copyright (c) 2010 Piotr Zagawa <piotr.zagawa@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package id.duapuluhdua.dakidaki.loader;

import java.util.Collections;
import java.util.Comparator;

import id.duapuluhdua.dakidaki.activities.ActivityMain;
import id.duapuluhdua.dakidaki.data.common.Database;
import id.duapuluhdua.dakidaki.gps.GpsLocationStatus;
import id.duapuluhdua.dakidaki.map.Screen;

/**
 *
 */
public class TrackCollection extends LoaderItemCollection<TrackItem>
{
  public TrackCollection(ActivityMain parent, Screen screen, GpsLocationStatus gpsLocationStatus)
  {
    super(parent, screen, gpsLocationStatus, parent.getDatabase().getTableTracks());
  }

  @Override
  protected void updateForResetViewPort()
  {
    // TODO Auto-generated method stub
  }

  @Override
  protected void updateForNewLocation(boolean bLocationSaved)
  {
    // TODO Auto-generated method stub
  }

  @Override
  protected TrackItem createItem(ActivityMain parent, Screen screen, Database database, long itemId)
  {
    // TODO Auto-generated method stub
    return null;
  }

  @Override
  protected void sortItems()
  {
    Collections.sort(mVecItem, sortingRule);
  }

  private Comparator<TrackItem> sortingRule = new Comparator<TrackItem>()
  {
    @Override
    public int compare(TrackItem t1, TrackItem t2)
    {
      final long track1 = t1.getId();
      final long track2 = t2.getId();

      if (track1 < track2) {
        return 1;
      }
      if (track1 > track2) {
        return -1;
      }
      return 0;
    }
  };
}
